86,290 research outputs found

    On the design of aspect-oriented composition models for software evolution

    Get PDF
    Aspect-oriented programming is an emerging approach in software development,\ud which provides new possibilities for separation of concerns. Aspectoriented\ud languages offer abstractions for the implementation of concerns\ud whose modularization cannot be achieved by using traditional programming\ud languages. Such concerns are generally termed as crosscutting concerns. It is\ud generally agreed that separating the right concerns from each other enhances\ud software quality factors such as reusability and adaptability. The separated\ud concerns in software must be composed together so that software behaves\ud according to its requirements in a coherent way. We refer to language mechanisms\ud that separate and compose concerns as 'composition mechanisms'. This\ud thesis evaluates the software composition mechanisms of current aspectoriented\ud languages from the perspective of software quality factors such as\ud evolvability, comprehensibility, predictability and adaptability. Based on this\ud study, the thesis proposes novel extensions to current aspect-oriented\ud languages so that programs written in these languages exhibit better quality.\ud A considerable number of aspect-oriented languages has been introduced for\ud modularizing crosscutting concerns. Naturally, these languages share a number\ud of common concepts and have distinctive features as well. For this reason, we\ud propose a reference model that aims to capture the common and distinctive\ud concepts of aspect-oriented languages. This reference model provides a basis\ud to understand the important characteristics of the state-of-the-art AOP\ud languages and helps us to compare the AOP languages with each other.\ud Furthermore, it exposes the issues that have to be considered when a new\ud aspect-oriented language needs to be developed.\ud In this thesis, we analyse the four main aspect-oriented concepts of the reference\ud model, namely join point, pointcut, advice and aspect, and identify problems\ud related to their use in various AOP languages. Based on this analysis, we\ud propose extensions of the existing concepts and/or design new ones to address\ud the identified problems.\ud In current aspect-oriented languages, pointcuts select join points of a program\ud based on lexical information such as explicit names of program elements.\ud However, this reduces the adaptability of software, since it involves too much\ud information that is hard-coded, and often implementation-specific. We claim\ud that this problem can be reduced by referring to program elements through their\ud semantic properties. A semantic property describes for example the behavior\ud of a program element or its intended meaning. We formulate requirements for\ud the proper application of semantic properties in aspect-oriented programming.\ud We discuss how to use semantic properties for the superimposition of aspects,\ud and how to apply superimposition to bind semantic properties to program\ud elements. To achieve this, we propose language constructs that support semantic\ud composition: the ability to compose aspects with the elements of the base\ud program that satisfy certain semantic properties.\ud The current advice-pointcut binding constructs of AOP languages maintain\ud explicit dependencies to advices and aspects. This results in weaving specifications\ud that are less evolvable and need more maintenance during the development\ud of a system. We show that this issue can be addressed by providing associative\ud access to advices and aspects instead of using explicit dependencies in\ud the weaving specification. To this aim, we propose to use a designating (query)\ud language in advice-pointcut bindings that allows for referring aspect/advices\ud through their (syntactic and semantic) properties. We also present how semantic\ud properties can be applied to provide reusable (adaptable) aspect abstractions.\ud Aspect-oriented languages provide means to superimpose aspectual behavior –\ud in terms of advices - on a given set of join points. It is possible that not just a\ud single, but several advices need to execute at the same join point. Such "shared"\ud join points may give rise to issues such as determining the exact execution\ud order and the other possible dependencies among the aspects. We present a\ud detailed analysis of the problem, and identify a set of requirements upon mechanisms\ud for composing aspects at shared join points. To address the identified\ud issues, we propose a general and declarative model for defining constraints\ud upon the possible compositions of aspects at a shared join point. By using an\ud extended notion of join points, we show how concrete aspect-oriented\ud programming languages can adopt the proposed model.\ud The thesis also presents how the proposed extensions and new constructs are\ud adopted by the aspect-oriented language Compose*. To evaluate the proposed\ud constructs, we provide qualitative analyses with respect to various software\ud engineering properties, such as evolvability, modularity, predictability and\ud adaptability

    Utilizing Community Resources to Reduce the Presence of Type 2 Diabetes in Rural Youth

    Full text link
    The purpose of this study was to implement a program designed to promote diabetes prevention activities among preadolescents in a rural southern setting using a day camp intervention. Participants in the study were eleven youth from a rural Alabama county who participated in a week-long half-day camp administered by local and community volunteers. Change scores were used to compare pre- to post- to follow-up measures for camp participant responses. Program results consistently demonstrated that the day camp was theoretically sound and that program activities positively impacted behavioral antecedents. This study demonstrated the feasibility of conducting a diabetes prevention day camp in a rural environment. Insights from this intervention can assist planners in rural environments to tailor similar initiatives in rural settings. Given the complicated nature of behavior change, a day camp approach of this length does not modify the behaviors of participants. Behavior changes may take considerably longer to initiate

    Remarks on Graphons

    Get PDF
    The notion of the graphon (a symmetric measurable fuzzy set of [0,1]2[0, 1]^2) was introduced by L. Lov\'asz and B. Szegedy in 2006 to describe limit objects of convergent sequences of dense graphs. In their investigation the integral t(F,W)=[0,1]kijE(F)W(xi,xj)dx1dx2dxkt(F,W)=\int _{[0, 1]^k}\prod _{ij\in E(F)}W(x_i,x_j)dx_1dx_2\cdots dx_k plays an important role in which WW is a graphon and E(F)E(F) denotes the set of all edges of a kk-labelled simple graph FF. In our present paper we show that the set of all fuzzy sets of [0,1]2[0, 1]^2 is a right regular band with respect to the operation \circ defined by (fg)(s,t)=(x,y)[0,1]2(f(x,y)g(s,t));(s,t)[0,1]2,(f\circ g)(s,t)=\vee _{(x,y)\in [0, 1]^2}(f(x,y)\wedge g(s,t));\quad (s, t)\in [0, 1]^2, and the set of all graphons is a left ideal of this band. We prove that, if WW is an arbitrary graphon and ff is a fuzzy set of [0,1]2[0, 1]^2, then t(F;W)t(F;fW)E(F)(sup(W)sup(f))Δ({W>sup(f)})|t(F; W)-t(F; f\circ W)|\leq |E(F)|(\sup(W)-\sup(f))\Delta (\{W> \sup(f)\} ) for arbitrary finite simple graphs FF, where Δ({W>sup(f)})\Delta (\{W> \sup(f)\}) denotes the area of the set {W>sup(f)}\{W>\sup(f)\} of all (x,y)[0,1]2(x, y)\in [0, 1]^2 satisfying W(x,y)>sup(f)W(x,y)>\sup(f).Comment: 11 page

    Nancie Atwell I\u27m Not!

    Get PDF
    corecore